//go:build wireinject
// +build wireinject

package main

import (
	"baize/app/business/monitor/monitorDao/monitorDaoImpl"
	"baize/app/business/system/systemController"
	"baize/app/business/system/systemMapper/systemMapperImpl"
	"baize/app/business/system/systemService/systemServiceImpl"
	"baize/app/datasource"
	"baize/app/routes"
	"baize/app/setting"
	"github.com/gin-gonic/gin"
	"github.com/google/wire"
)

func wireApp(mongo *setting.Mongo) (*gin.Engine, func(), error) {
	panic(wire.Build(
		//toolDaoImpl.ProviderSet,
		//toolServiceImpl.ProviderSet,
		//toolController.ProviderSet,
		systemMapperImpl.ProviderSet,
		systemServiceImpl.ProviderSet,
		systemController.ProviderSet,
		monitorDaoImpl.ProviderSet,
		//monitorServiceImpl.ProviderSet,
		//monitorController.ProviderSet,
		datasource.ProviderSet,
		routes.ProviderSet,
	))
}
